import { useState, useEffect, useRef } from "react"; // ─── SVG Icons ─────────────────────────────────────────── const WhatsAppIcon = ({ className = "w-6 h-6" }) => ( ); const ArchIcon = () => ( ); // ─── Data ──────────────────────────────────────────────── const products = [ { id: 1, name: "Bajo 600 - 1 Puerta", ref: "MB-600-1P", price: 145000, ml: 0.6, img: "https://lh3.googleusercontent.com/aida-public/AB6AXuD1Kugflo-WHqYnkT7vD4BCu0UeT5Bftfg1EOwVN4M265yRzHAiYBPjKcQJPZXoGVMZNTm4NpfS9TVV9s4FVRLD36x-uFG9cKJKkiybjUYjFx1_vLuKkDxpKJoQ4W37IlW55QNfC2RxcpXiyQtKmkcyZ0nBn4WMkTyh9S8fo2tfk_Yv9swb-NIBfAOyfDuQS6RyTMJ7gKT7ZtYbQFJ2ueNXDp7iwKU_Vr7xnHLb-2w0WE3KZyudr-pTA-vt7is4UKjPNOVVVDA_vJ4X" }, { id: 2, name: "Cajonera 600 - 3C", ref: "MB-600-3C", price: 212500, ml: 0.6, img: "https://lh3.googleusercontent.com/aida-public/AB6AXuC-60Jvdd64kIHb9gjG-nghaBFNilLB3U5hbuNgyPTo4qI1RBdZQT2virX5ZENpVcE0rKvdSmef5VDtV-ewduDmr7cTt_jPPNcR1zLOuBdILvsIgdOiny2cTGcJFLo_PRXjVUt2xGf3CfIe1-gGY9hjrXV4BrxZNGS6TrB-O1zU0YFt5Tb8qoBnRgd6RobZifWYWXD2tUSIwpXgFzx_5gQSczw_jIyzUnoBZNc0e1LxJP4yHKqEAcJKjb_c1jS7NNIYBDt1qTyyKfOr" }, { id: 3, name: "Bajo 900 - 2 Puertas", ref: "MB-900-2P", price: 189900, ml: 0.9, img: "https://lh3.googleusercontent.com/aida-public/AB6AXuCMVUQJ2XqWUPZAaw_X762uG1KkepS1Fqa08nDjlgLgVNH1dm4UXbX19E12TM4tJA3wkYz6YRX4bFlqleu3spLobpRZuizFx1H_CYn5GW-7EnNEIEptbl078HiFNdsD34zMG671_mRfpXkqsPAlh7Bi_zBSGxhExtbiP8jxMmnA1vdGy439CvOzjc2dVUqXgVJpFgVVhdMLjvfk-6fHy2VXUEdBlUb-S4DxmZAxs7wGDdNOmixFM7JE4O8kW8Gif8DTTgiOmQcRotAc" }, { id: 4, name: "Módulo Fregadero 600", ref: "MB-F600", price: 132000, ml: 0.6, img: "https://lh3.googleusercontent.com/aida-public/AB6AXuCDelMoJZWmfXJc4_vy1oyU-Hbt-BshYtD2IlNuJbYqEamdgzXVNIW7_w8KAuQtanYVm1waaqGwFhS4SzNNDX6kiZbvzpbc-otlrk1uO9_JVDykuzqYjHFApgYKSWjMyIHMCzOaJu6D2PIYzPRZtxdPjjpxHoxqUt7onl30vS9fo8E2NqnYTI_a2dQ-uNZ4EAmupFFi40K408zNgjbREb2qGowyYyJN5MQmFJOf1y_MoM63sKzSFkoGnbJepaxdrbgDxWVhYMTDHKSB" }, ]; const heroImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuCE6tJHn-B2zq6mMtjWvOInlArQj0aNDeSj-DuXrTm6cM-iOocEGi44yy9foTHgQC2FGdwe1d0KtHFKNT5_zRVZenj7xwHSvj-0EJJjTQeC7KGtgZBdWQyAIRXs2oXDZ-FIqJKNgI0AFBVhDH67XcDBH0_rw9S1nH9yOTCKbz29DdVoAQT_iGBQkTECojn-DBdP3pYeHHVoNSAmCH88Wae9tlcWByXxWTyeZLbgcD3eUPCA2Icy3LC32zunlBsVXjYWGmduTt_oWFbz"; const lineaEcoImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuB1ScjFxVwo-zGUNcRYn3HvGqMshSyzaLzKpObvlnffNi504r0J2bWiuxL-X7TNNJZl9kro2_iWs1Kx2kvtFtb5hZEj2BGTvWoQh7QI0P-EwHeA-sFpWaz-ynHyOIqzdIIuUeZRHnfT3N5pmj9UnXwS7on2SZ5ti9qt41VIQqAUkEltVN93jH5oQqDG-7kRle-yiSXaUsPeAH4ZtSgG8pDUKNTua-yIXjPL9j0tdFTUVepB9AFCCAHO4TnyUry1-mKq9ZHCp5rdHeh8"; const lineaMediaImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuA_JUPtt9OVyMwYD4pDO3hzHBad4am_pPGNcZAbnHxmx4hZKB4SmQU5v_hPnw-qgXVsVucFh8No77MBZfKCZiUGd3_CUh01MMX6snajBiJMoXA-P6dSGXGClwXeL6xlL-n0dMKgcAHvEmCp2K2yCIAAhxuDFb1_oUMc97cmKmlBdo4is24jT6LjM8amQOLJydCCc0a2X0kSjGzqLYlkxz_0khY7h_QV-g5wcYGs7eqgss0U7Zs-nPkgrM4HXwjESTPyDVdA-xL5hyea"; const lineaPremiumImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuDaod8QMxkHufbxbMq2DOQ2jOlRIaSoYBv6MAIwgA_rIw3aVPCvuJEv6NIo8kwYpedWAp_hYE6UMorKrFhAAobgQgxIkCjRgibu0JuWPu-VFjW4NRVfp761MAi4bpSEQ667HYo9JzvX2-sRG2x6J-bQTLg9nhvC-AUnjtuie1lmHzg_RCf8dvdx-cdeBUyIOpJsnOypq7vlwrclCdbDLytrETk1kJdDqYX_J9gcJ0yvxFQam4qDiP0PGPHI9l7txs4zvSi1obXtlraK"; const bajosImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuDwxpysYVenLMwB-3afz8REJ_xCKA-NTLffdjZakeKvEx1yzOH1jp8CYaUWN9Zdch1PGRRk-wgbpN7CWT9o6WM2yRj1pEB82YC34Wenug887HjDSwbjLs3MjkpxgDhhH1ndAZTwqcfikabcz8ZNhcws-agEbEIyO_dpUrdSun-hZ7CrOzGsjA_4utAgldqRLKC6IUyohjC2_9z3ywmCD2qE7u837x_qs2TvPhbkI_pkV-Ju4JOrwEuqsiG0abrhLAeEJRIh8bv8vhLL"; const aereosImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuBcg97qBVjFnPg-Bt5dp4W9a8Lku0kYxG_jP7R9yiyWbxHvgPNRyHejD-w_37y6hzTo-IQLYJ6HHh39ezlOicaCPPtj996-M4x5ub9Dg0yHhdrPF50GuGgiVS_UGauyakdubJ6TuQ8Tykv6m13sknDTTrLOfbqv76uhMmiWp3T3mUU5TBuRpPaGlTmzgvdEn-fjxtbi0s8AMha7M9l6f_c5xDxBCPSqlu_PxbfIliF1rlXnOxJFnr_8TQubd0OU-rfTuXzkeHnl85sH"; const columnasImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuDenXt0z9ak5SZoA3fawbY6UQXSbyaMtkgAf4HXxAp7CHL8zq_uxv8_ss0MgwjcBihPbfipthRVXW2isiXQF8uk5MSjrEB2BJ7xP--iAwuDeHxnvgTTuVSXZB1HZ1xEYVCFZ6GndkGzN48n8nTjORv6KXiHMfu5zDeiEOQRQS18DVrDlZYUwM1Sa66HIPHDW0SLPVqXgLDsfFL6CBFeAYRO4zFol6hfjPdUAPTy8OAE20QxkvfhXRd0J4tsu5vOjhGMHdne6BzDjIsA"; const detailImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuAWdc_jz4-03IgZZPPzORAlVop5FpOGv_29yj16IC12plFjesGEFB3OZPkZSFfFSzIU12DJNSkxGi6iHzotfnVIYbP6QJrTwPJ0jRlrnNpgTH7amu309pBKUgqJvCLNpHWXGiNd3GXhcB3RlrXE1o_OV8Wsc0rDOgd7PSpJd0eNShfSfFkzV5K8YPYcYwacfgJbUIN-2ifZ_QFS_zKeREK_5eboXWAEuYFMGjLcbyhzRW9NbG9kPHMLEA2pFP2pgw3pBAGtRBvn_Yx-"; const calcImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuAx1L-rdvSYnCHR7bocAxANHtQhmGCgbV57y3oZ_mLp93zYHHe6zyA8nk7801r9TcWpljVSBbO2EtL9QO82YM70GxK-pD4br4sJUW2TAAs3aO6_elTMlQwcoiJNcam_Ihcrr26piOQIy5YcjBVdLw5m7X_cT_O3ShDcf8Uqw4BX6zOrYfYIC_t4FKtUPPnNsxE4RdWXj69oOaaSoBhwuGGftFxY1EQeuqwaVm_7P8rkb9SezvBll0vxqqrAA-i5JZbVxCuaD1epWXcD"; const quoteHeroImg = "https://lh3.googleusercontent.com/aida-public/AB6AXuAgI_IW588K6chIyCZ6EnIacUgcPVKBoJHtOM3TsRGN9OQzE-qEWKTuEy2j1Y4gk1cBgf50m4k8bQ9RqCr_0tasXe4DHs2x8VSVK5yfLIuvXSp-sq6rNyQpnH6cH60aEg7XN3Ng-Sraob0lME3iYSGwzrV3eLJ8Q7E9WgOn9kx63Xq6Ch0go0S3YkYoN5IaXKrwRlPSkJmesYjv6fqgMKp_xWm2kR0CJTvymeB5S4kJ8An6xzRfgOnNfgNddbjaFUp4Wy9vaD0UFfea"; const cartItems = [ { id: 1, name: "Módulo Base Industrial 60cm", finish: "Roble / Tirador Negro", qty: 1, price: 980, oldPrice: 1200, img: "https://lh3.googleusercontent.com/aida-public/AB6AXuCMfpuHCqIeVpB4UFIky-3F40EVgY91kXIg6r4vCzfFUd2_IQsUYT1SL-dcg-mCzXOOKh8dDY4O0i7Mr0AvfO9pM_hY1txqs4rHnb-XlW5qKcaFri98zOoYkmbzrT_C-H9Zu-ysdAThcRdNKueDxMzXnJHGf5tvI1O6OiMuYYZ2yjWj_TMbEv2zbhKHT7lgWdJIN840dX3l9FbZn6r8ZqiiwkB434-3zLtzqRYqifLoIPdqAvYWXAb0oZvjPQZxC9Od92-ueij8ch1s" }, { id: 2, name: "Alacena Superior Doble 80cm", finish: "Blanco Mate / Push Open", qty: 2, price: 1450, img: "https://lh3.googleusercontent.com/aida-public/AB6AXuB2Wk6h7F0CiOr_JEAGVolHv7G3aJdmdSKf3w_beAnf8CKBkHwACqAoKo_ltQiI_wD0UcFEJinoU4f74BZx18UtsU4IbEZieNEJkEIWhwgHAObENP5FdmU2pms9acQTi9sHEKiZceVvkfVutf20O52vWkSw2-cCfjxSmUDepVT9CjFqSjipjXOmFrmsKom7_K-hK0JoGpYt0WFJrZhIoYGLEGEl4uY80FHYmNl7l9rlFx0jEi6n8gEe-55sotDr0F31ZImZHDQZ3udc" }, { id: 3, name: "Esquinero Magic Corner", finish: "Grafito / Soft Close", qty: 1, price: 2100, img: "https://lh3.googleusercontent.com/aida-public/AB6AXuAKD5hltAk-HA8NUDA5BEusL-M2NuRGV265yHP6IvbC-rDOo5gS2-F_60E0JTLKnyS9Q2JvXIlBOzF22bhZzc5XmK9ikTPJSlkePbNBGD8esWBg0-A3WwrDpvgABtArAf1HLeGdYpnvJyVYdPGVyaZmUGrmwc0h1Icnb1hgQ8MV-VTyksKTW6Jb6bbaw7pE-wsiyqO6C4KVy2eek1Z-EHllz0Ost8_XwCiKQBBJvxbo08Sh-RCGLmaJOHRAUtGYvD7msSoBU2UeFxvQ" }, ]; const fmt = (n) => "$" + n.toLocaleString("es-AR"); // ─── PAGES ─────────────────────────────────────────────── // ── HOME PAGE ──────────────────────────────────────────── function HomePage({ navigate }) { return (
{/* Hero */}
Cocina Modular
Fabricación Directa

Cocinas modulares desde USD 330 por metro lineal

Diseño industrial de alta precisión. Calidad premium a precio de fábrica.

{/* Trust Badges */}
{[ { icon: "⚙️", label: "Fabricación local" }, { icon: "🚚", label: "Entrega rápida" }, { icon: "✅", label: "10 Años Garantía" }, ].map((b, i) => (
{b.icon} {b.label}
))}
{/* Product Lines */}

Nuestras Líneas

Selecciona tu nivel

{[ { tag: "ESSENTIAL", name: "Línea Económica", desc: "Melaminas de alta densidad y herrajes reforzados. Funcionalidad total.", price: "USD 330/m", img: lineaEcoImg, border: "" }, { tag: "BALANCED", name: "Línea Media", desc: "Herrajes soft-close y texturas amaderadas sincronizadas. Estilo puro.", price: "USD 450/m", img: lineaMediaImg, border: "border-2 border-blue-600 shadow-xl shadow-blue-600/5" }, { tag: "LUXURY", name: "Línea Premium", desc: "Sistemas push-to-open, iluminación LED integrada y lacados mate.", price: "USD 680/m", img: lineaPremiumImg, border: "" }, ].map((line, i) => (
{line.name}
{line.tag}

{line.name}

{line.desc}

Desde {line.price}
))}
{/* How it works */}

¿Cómo funciona?

{[ { n: "1", t: "Toma tus medidas", d: "Mide el largo de tus paredes donde quieres los módulos." }, { n: "2", t: "Cotiza en línea", d: "Envíanos las medidas por WhatsApp y recibe un presupuesto en minutos." }, { n: "3", t: "Instalación rápida", d: "Fabricamos y armamos en tu hogar en menos de 15 días." }, ].map((s) => (
{s.n}

{s.t}

{s.d}

))}
{/* Components Grid */}

Componentes

Aéreos

Aéreos

Alacenas y campanas

Columnas

Columnas

Torre de hornos

{/* Footer */}
); } // ── CATALOG PAGE ───────────────────────────────────────── function CatalogPage({ navigate }) { const [activeWidth, setActiveWidth] = useState("600mm"); const [activeLine, setActiveLine] = useState("Todas"); return (
{/* Header */}

Módulos Bajos

{/* Breadcrumbs */} {/* Filters */}

Catálogo Industrial

Configura tus módulos de cocina con precisión profesional. Precios calculados por metro lineal (ML).

Línea de Acabado

{["Todas", "Eco (Melamina)", "Media (Laminado)"].map((l) => ( ))}

Ancho (mm)

{["400mm", "600mm", "800mm", "900mm"].map((w) => ( ))}
{/* Product Grid */}
{products.map((p) => ( ))}
{/* Bottom Tab Bar */}
); } // ── DETAIL PAGE ────────────────────────────────────────── function DetailPage({ navigate }) { const [tab, setTab] = useState("desc"); return (
{/* Nav */}
{/* Gallery */}
Bajo mesada 600
Premium Range
{/* Info */}

Bajo mesada 600

Cod: MOD-B600-P

$42.500

$48.900

📏

Equivalencia Lineal

Este módulo equivale a 0.60 ML

{/* Selectors */}
{/* Tabs */}
{["desc", "medidas", "ficha"].map((t) => ( ))}

Módulo bajo de 600mm con un estante regulable. Diseñado para ofrecer máxima capacidad de guardado con herrajes de cierre suave (Soft Close) de última generación. Ideal para configuraciones lineales de cocina moderna.

{["Estructura en MDF 18mm alta densidad", "Cantos de PVC 2mm aplicados térmicamente", "Patas regulables de polímero técnico"].map((f) => (
{f}
))}
{/* Technical Download */}

Diagrama Técnico

PDF • 1.2 MB

{/* Sticky Bottom */}
); } // ── WIZARD PAGE ────────────────────────────────────────── function WizardPage({ navigate }) { const [layout, setLayout] = useState("linear"); const [wallA, setWallA] = useState(3.5); return (
{/* Header */}

Step 1 of 5

Define Your Layout

Select the shape that best fits your kitchen space for an instant linear meter estimate.

{/* Shape Selection */}

Shape Selection

{[ { id: "linear", name: "Linear (Recta)", desc: "Single wall configuration", icon: "━━━" }, { id: "l-shape", name: "L-Shape", desc: "Two perpendicular walls", icon: "┗━" }, { id: "u-shape", name: "U-Shape", desc: "Three connected walls", icon: "┗━┛" }, ].map((opt) => ( ))}
{/* Dimensions */}

Dimensions (Meters)

AUTO-CALCULATING
Min 1.2m
setWallA(parseFloat(e.target.value) || 1.2)} step="0.1" className="w-full h-full text-center text-xl font-bold bg-transparent border-none focus:ring-0 text-slate-900" /> m

For Linear (Recta) layouts, only one measurement is required. Our system automatically adds a 5% safety margin for industrial fitment.

{/* Sticky Footer */}
); } // ── CALCULATOR PAGE ────────────────────────────────────── function CalculatorPage({ navigate }) { const [selectedLine, setSelectedLine] = useState("eco"); const [meters, setMeters] = useState(3.5); const priceRanges = { eco: [350, 480], media: [480, 650], premium: [650, 900] }; const range = priceRanges[selectedLine]; const low = Math.round(meters * range[0]); const high = Math.round(meters * range[1]); return (
{/* Header */}

Presupuesto Estimado

{/* Step 1 */}
1

Elegí tu línea

{[ { id: "eco", name: "Línea Eco", desc: "Estructura melamínica, herrajes estándar." }, { id: "media", name: "Línea Media", desc: "Cierre suave, terminaciones premium." }, { id: "premium", name: "Línea Industrial Premium", desc: "Aluminio, vidrio y herrajes europeos." }, ].map((l) => ( ))}
{/* Step 2 */}
2

¿Cuántos metros tenés?

setMeters(parseFloat(e.target.value) || 0)} step="0.5" className="w-full h-16 px-5 text-2xl font-bold bg-white border-2 border-slate-200 rounded-xl focus:ring-blue-600 focus:border-blue-600 transition-all" />
Metros (m)

Mida el largo total de la pared donde ubicará sus módulos.

{/* Result */}

Inversión Estimada

USD {low.toLocaleString()} – {high.toLocaleString()}

El precio final se ajustará según la configuración de módulos y accesorios seleccionados.

{/* Image */}
Cocina Industrial

Inspiración: Línea Industrial Premium

{/* CTA */}
); } // ── CART PAGE ───────────────────────────────────────────── function CartPage({ navigate }) { const [items, setItems] = useState(cartItems.map((i) => ({ ...i }))); const updateQty = (id, delta) => { setItems((prev) => prev.map((i) => i.id === id ? { ...i, qty: Math.max(1, i.qty + delta) } : i)); }; const removeItem = (id) => setItems((prev) => prev.filter((i) => i.id !== id)); const subtotal = items.reduce((s, i) => s + i.price * i.qty, 0); const herrajes = 125; const total = subtotal + herrajes; const totalML = 3.2; return (

Tu Cotización

{/* Summary */}

Capacidad Total

{totalML} ML

Módulos

{items.length.toString().padStart(2, "0")}

{/* Items */}

Módulos Seleccionados

{items.map((item) => (
{item.name}

{item.name}

Acabado: {item.finish}

{item.qty}
{item.oldPrice &&

${item.oldPrice.toLocaleString()}

}

${(item.price * item.qty).toLocaleString()}.00

))}
{/* Breakdown */}
Subtotal Módulos${subtotal.toLocaleString()}.00
Herrajes y Accesorios${herrajes}.00
Estimado ML ({totalML}m)Incluido
Total Estimado
${total.toLocaleString()}.00

IVA no incluido

Este presupuesto es una estimación basada en módulos estándar. El precio final será confirmado tras la verificación técnica de medidas por nuestro equipo.

{/* Fixed CTA */}

Te enviaremos un mensaje pre-llenado con tus productos.

); } // ── FAQ PAGE ───────────────────────────────────────────── function FaqPage({ navigate }) { const [openFaq, setOpenFaq] = useState(0); const faqs = [ { icon: "🏗", q: "¿Qué materiales utilizan?", a: "Utilizamos acero inoxidable grado quirúrgico 304 y maderas certificadas con tratamiento hidrófugo. Nuestros acabados son de grado industrial resistentes a altas temperaturas." }, { icon: "📏", q: "¿Cómo mido mi cocina?", a: "Mide la longitud total de las paredes donde planeas instalar. Nuestro precio por metro lineal facilita la estimación inicial. Un técnico validará las medidas antes de la producción." }, { icon: "🚚", q: "Tiempos de entrega y envío", a: "El tiempo estándar es de 4 a 6 semanas desde la confirmación del diseño técnico. El envío incluye seguro total y descarga en domicilio." }, { icon: "🛡", q: "Garantía Premium", a: "Ofrecemos 10 años de garantía estructural y de por vida en herrajes de movimiento (Blum). La calidad industrial está garantizada contra defectos de fabricación." }, ]; return (
{/* Hero */}
Centro de Ayuda

¿Cómo podemos ayudarte?

Resuelve tus dudas sobre nuestras cocinas modulares industriales de alta gama.

🔍
{/* Transparency */}

Transparencia en Precios

Calculamos basándonos en el precio por metro lineal. Esto incluye gabinetes base, superiores y herrajes premium.

{/* FAQ */}

Preguntas Frecuentes

{faqs.map((faq, i) => (
{openFaq === i && (

{faq.a}

)}
))}
{/* Contact Form */}

Contáctanos